home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 31 / Amiga Format CD31 (1998-09-02)(Future Publishing)(GB)(Track 1 of 2)[!][issue 1998-10].iso / -coverdisks- / 115a / ppt / rexx / dropshadow.prx < prev    next >
Text File  |  1998-07-29  |  2KB  |  74 lines

  1. /*
  2.     This script will take the current image and puts 'soft shadows'
  3.     onto it - you know, the stuff you see in Web Graphics every day.
  4.  
  5.     This really works well only when the background is white (or close
  6.     to it) and the foreground is a dark object.
  7.  
  8.     by Janne Jalkanen, 1997.
  9. */
  10.  
  11. /*-------------------------------------------------------------------*/
  12. /*  I suggest you use this header as-is and add your own code below  */
  13.  
  14. OPTIONS RESULTS
  15. SIGNAL ON ERROR
  16. IF ADDRESS() = REXX THEN DO
  17.     startedfromcli = 1
  18.     ADDRESS PPT
  19. END
  20. ELSE DO
  21.     startedfromcli = 0
  22.     ADDRESS PPT
  23. END
  24. RESULT = 'no result'
  25.  
  26. /*-------------------------------------------------------------------*/
  27. /* Add your code here */
  28.  
  29. PARSE ARG frame
  30.  
  31. mygad1.label = "X distance"
  32. mygad1.type = SLIDER
  33. mygad1.default = 2
  34. mygad1.min  = -20
  35. mygad1.max  = 20
  36.  
  37. mygad2.label = "Y distance"
  38. mygad2.type = SLIDER
  39. mygad2.default = 2
  40. mygad2.min  = -20
  41. mygad2.max  = 20
  42.  
  43. ASKREQ '"Select the direction of the soft shadow"' mygad1 mygad2
  44. IF RESULT = 0 THEN DO
  45.     PROCESS frame    AutoCrop
  46.     PROCESS frame    Transparency T 255 BACKGROUND
  47.  
  48.     COPYFRAME frame
  49.     newframe = RESULT
  50.  
  51.     PROCESS newframe Threshold 128 INTENSITY
  52.     PROCESS newframe Shift X mygad1.value Y mygad2.value
  53.     PROCESS newframe Convolute blur.conv
  54.     PROCESS newframe Contrast '-0.3'
  55.     PROCESS newframe Composite WITH frame METHOD Direct
  56.     PROCESS newframe AutoCrop
  57. END
  58.  
  59. EXIT 0
  60.  
  61. /*-------------------------------------------------------------------*/
  62. /* Again, keep this part intact. This is the error handler. */
  63. ERROR :
  64. returncode = RC
  65. IF startedfromcli = 1 THEN DO
  66.     SAY 'ERROR ' returncode ' on line ' SIGL ': ' RC2
  67.     PPT_TO_BACK
  68. END
  69. ELSE
  70.     SHOWERROR '"'RC2'"' SIGL
  71. EXIT returncode
  72.  
  73.  
  74.